package net.lab1024.sa.admin.module.business.yct.yctofficial.domain.form;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import net.lab1024.sa.base.common.json.deserializer.DictValueVoDeserializer;
import net.lab1024.sa.base.common.json.deserializer.FileKeyVoDeserializer;

/**
 * 易齿通官网类目 新建表单
 *
 * @Author zahngben
 * @Date 2024-09-23 10:00:32
 * @Copyright 01
 */

@Data
public class YctOfficialInfoClassAddForm {

    @Schema(description = "类目名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "类目名称 不能为空")
    private String name;

    @Schema(description = "类型1单页 2列表 3列表单页", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "类型1单页 2列表 3列表单页 不能为空")
    private Long classType;

    @Schema(description = "上级类目id")
    private Long classParentId;

    @Schema(description = "类型1启用 2启用", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "类型1启用 2启用 不能为空")
    private Long classStatus;

    @Schema(description = "底部显示1启用 2启用", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "底部显示1启用 2启用 不能为空")
    private Long bottomStatus;
    @Schema(description = "排序")
    private String sort;
    @Schema(description = "跳转链接")
    private String classLinkUrl;

    @Schema(description = "缩略图片")
    @JsonDeserialize(using = FileKeyVoDeserializer.class)
    private String picUrl;

    @Schema(description = "缩略图宽度")
    private String picWidth;

    @Schema(description = "缩略图高度")
    private String picHeight;

    @Schema(description = "SEO标题")
    private String seoTitle;

    @Schema(description = "描述")
    private String description;

    @Schema(description = "英文名")
    private String ywm;

    @Schema(description = "路径")
    private String path;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "删除时间")
    private Integer deletedFlag;

    @Schema(description = "创建人")
    private Long createUserId;

    @Schema(description = "修改时间")
    private LocalDateTime updateTime;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

}